package com.demo.java.OD601_650.OD603;

import java.util.Scanner;
import java.util.*;
import java.util.HashMap;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【找到比自己强的人数or师徒关系(B卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146589506
 */
public class OdMain {
    // 设置四个方向（上、下、左、右）用于移动
    public static int[][] directions = {{-1, 0}, {1, 0}, {0, 1}, {0, -1}};

    // 获取每个导师带的学生数（强度）
    public static int[] getStrongPeople(Integer[][] people) {
        if (people == null || people.length == 0) {
            return null; // 输入为空时返回null
        }

        // 使用哈希表存储每个导师带的学生数
        Map<Integer, Integer> hashMap = new HashMap<>();

        // 遍历每个导师-学生关系
        for (int i = 0; i < people.length; i++) {
            int teacher = people[i][0];  // 导师编号
            int student = people[i][1];  // 学生编号

            // 如果导师编号大于学生编号，将学生算作导师的学生
            if (teacher > student) {
                hashMap.put(teacher, hashMap.getOrDefault(student, 0) + 1);
            }

            // 如果哈希表中没有当前学生，则将其添加进去
            if (!hashMap.containsKey(student)) {
                hashMap.put(student, 0);
            }
        }

        // 将结果转换成数组返回
        int[] ans = new int[hashMap.keySet().size()];
        int index = 0;
        for (int key : hashMap.keySet()) {
            ans[index] = hashMap.get(key);
            index++;
        }
        return ans;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine(); // 读取输入的字符串

        // 解析输入的字符串，转换为二维数组
        Integer[][] relations = Arrays.stream(str.substring(1, str.length() - 1).split("(?<=\\]),(?=\\[)"))
                .map(s -> Arrays.stream(s.substring(1, s.length() - 1).split(","))
                        .map(Integer::parseInt)
                        .toArray(Integer[]::new))
                .toArray(Integer[][]::new);

        // 获取每个导师带的学生数
        int[] ans = getStrongPeople(relations);

        // 输出结果
        System.out.print("[");
        for (int i = 0; i < ans.length; i++) {
            System.out.print(ans[i]);
            if (i != ans.length - 1) {
                System.out.print(",");
            }
        }
        System.out.print("]");
    }
}